package com.allwees.bs.c.common.auth;

import com.allwees.bs.c.common.auth.constant.EAuthType;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;


public abstract class AuthHandlerFactory {
	private static final Map<EAuthType, AuthHandler> HANDLER_MAP = new ConcurrentHashMap<>();
	/**
	 * 获取处理器
	 *
	 * @param authType
	 *            认证类型
	 * @return 处理器
	 */
	public static AuthHandler getHandler(EAuthType authType) {
		return HANDLER_MAP.get(authType);
	}

	/**
	 * 注册处理器
	 *
	 * @param authType
	 *            认证类型
	 * @param handler
	 *            处理器
	 */
	public static void register(EAuthType authType, AuthHandler handler) {
		HANDLER_MAP.put(authType, handler);
	}
}
